package com.cotasul.converter;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;

import com.cotasul.bean.ProdutoBean;
import com.cotasul.negocio.ProdutoServico;

@FacesConverter(forClass = ProdutoBean.class, value = "produtoConverter")
public class ProdutoConverter implements Converter {
	private ProdutoServico<ProdutoBean> produtoServico;

	public ProdutoConverter() {
		produtoServico = new ProdutoServico<ProdutoBean>();
	}

	public Object getAsObject(FacesContext facesContext, UIComponent component,
			String submittedValue) {
		if (submittedValue.trim().equals("")) {
			return null;
		} else {
			try {
				return produtoServico.consultaProdutos(submittedValue, null,
						null).get(0);

			} catch (Exception exception) {
				throw new ConverterException(new FacesMessage(
						FacesMessage.SEVERITY_ERROR, "Conversion Error",
						"Not a valid player"));
			}
		}
	}

	public String getAsString(FacesContext facesContext, UIComponent component,
			Object value) {
		if (value == null || value.equals("")) {
			return "";
		} else {
			return String.valueOf(((ProdutoBean) value).getCodigo());
		}
	}
}
